package cn.edu.sdjzu.knoverse.utils.rag;

import dev.langchain4j.service.Result;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;

/**
 * RAG助手接口，用于处理RAG增强的对话
 */
public interface RagAssistant {

    /**
     * 使用RAG进行对话，并返回带有来源的结果
     *
     * @param query 用户查询
     * @return 带有来源的回复结果
     */
    @SystemMessage("您是一个知识助手。基于检索到的信息回答用户的问题。如果无法从信息中找到答案，请基于您的知识回答，但要明确表示这是您的一般性回答。")
    Result<String> chat(@UserMessage String query);
} 